Skip to main content
There is a public docker image available on GitHub Container Registry.
This will get you started with a local Sidekick backend running on port 7500 with the minimal features.
We recommend setting SEQUENCE_PROJECT_ACCESS_KEY as well but for testing purposes we provide a default one, you can get yours from Sequence Builder.

Backend wallet

Sidekick creates a Sequence Smart Contract Wallet based on the BACKEND_WALLET_PV_KEY or AWS / GCP KMS signer you provide, this allows gas-sponsorship, batching and other optimizations. To configure the backend wallet, you can:
  • Declare your BACKEND_WALLET_PV_KEY in the .env file for a local setup (not recommended for production) or don’t provide it and get a random one generated for you, you can find it in the auto generated dev.key file.
  • Use the recommended method: setting up AWS or GCP KMS and adding the necessary credentials in the .env file.
To find out what are the required credentials for local, AWS, or GCP wallet configurations, please refer to the env.example file.
Make sure you choose the correct key types in AWS KMS and GCP KMS.
  • AWS KMS: ECC_NIST_P256_KEY_ALIAS
  • GCP KMS: GCP_KEY_RING_NAME
Sidekick is built to integrate seamlessly with AWS and GCP KMS, allowing you to use your KMS signer. We’ve developed adapters that make AWS/GCP KMS compatible with the ethers signer type, ensuring compatibility with the latest version. Sequence Sidekick empowers developers with a scalable, plug-and-play backend solution for blockchain-based applications, allowing you to focus on building without backend complexities.
When using the Sequence Sidekick:
  • msg.sender will be the Sequence Wallet address of your EOA, not your EOA address
  • tx.origin will be one of the Sequence Relayer addresses
  • Ensure proper permissions are granted for contract function calls to the Sequence Wallet address
  • View active relayer addresses in the mainnet status page

Start Sidekick in dev mode

1

Clone the Sidekick repository

2

Setup the required environment variables

Required Environment Variables

Optional Environment Variables

Wallet Configuration Variables

Choose one of the following configurations:

For local wallet:

For AWS KMS:

For GCP KMS:

3

Make sure you have Docker installed

Get it from here
4

Start Sidekick in a Docker container

5

Check your backend wallet address

Dev mode without Docker

If you want to make changes to the codebase and test them without Docker
This will run Sidekick and also start a Redis server.

Gas Sponsorship

On testnet, we sponsor all the transactions. However, on mainnet - you will want to ensure that you sponsor the transactions in order to ensure that they process correctly by sponsoring the contract itself. You can take a deeper look at our Gas Sponsorship solution to learn how to do this.